package org.jsping.dao;

import java.sql.SQLException;
import java.util.List;
import java.util.Map;

import org.jsping.entity.Music;

public interface IMusicDao {
	/**
	 * 获取一定数量的音乐
	 * @param num 数量
	 * @return 音乐列表
	 */
	List<Music> getMusic(int num) throws SQLException;
	
	/**
	 * 获取一定数量的音乐
	 */
	Map<String,Music> getMusics(int num) throws SQLException;
	
	/**
	 * 添加歌曲
	 * @param music
	 */
	int addMusic(Music music,int sid) throws SQLException;
	
	/**
	 * 根据歌曲名和歌手id查找歌曲
	 * @param mName 歌曲名
	 * @param sid 歌手id
	 * @return 歌曲连接
	 */
	String selectMusic(String mName,int sid) throws SQLException;
	
	/**
	 * 根据路径返回具体的歌曲信息
	 * @param murl
	 * @return
	 */
	Music getInfoByUrl(String murl) throws SQLException;
	
	/**
	 * 根据歌曲id返回具体的歌曲信息
	 */
	Music getInfoByMid(int mid) throws SQLException;
	
	/*更新音乐信息*/
	int updateMusic(int mid,String murl) throws SQLException;
	
	/**
	 * 获取数据库中歌曲的数量
	 */
	int getCount();
	
	/**
	 * 按照数目获取指定歌曲
	 */
	Music getSpecialMusic(int num);
	
	/**
	 * 获取指定顺序的多少首歌
	 */
	Map<String, Music> getOrderMusics(int start,int num);
	
	/**
	 * 根据歌曲名和歌手id来返回对应的mid
	 */
	int getMid(String mname,int mid) throws SQLException;
}
